Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
each-props
Advanced tools
Processes each properties of an object deeply.
To install from npm:
$ npm i each-props --save
For Node.js:
const eachProps = require('each-props');
For Web browser:
<script src="each-props.min.js"></script>
Apply a function to all (non plain object) properties.
var obj = { a: 1, b: { c: 'CCC', d: { e: 'EEE' } } };
eachProps(obj, function(value, keyChain, nodeInfo) {
if (keyChain === 'a') {
nodeInfo.parent['a'] = value * 2;
} else if (keyChain === 'b.c') {
nodeInfo.parent['c'] = value.toLowerCase();
} else if (keyChain === 'b.d') {
return true; // stop to dig
} else if (keyChain === 'b.d.e') {
nodeInfo.parent['e'] = value.toLowerCase();
}
});
console.log(obj);
// => { a: 2, b: { c: 'ccc', d: { e: 'EEE' } } };
Executes the fn function for all properties.
Parameter | Type | Description |
---|---|---|
obj | object | A plain object to be treated. |
fn | function | A function to operate each properties. |
opts | object | An object to pass any data to each properties. |
API of fn function
This function is applied to all properties in an object.
Parameter | Type | Description |
---|---|---|
value | any | A property value. |
keyChain | string | A string concatenating the hierarchical keys with dots. |
nodeInfo | object | An object which contains node informations (See below). |
True, if stops digging child properties.
Type: boolean
Properties of nodeInfo
Properties | Type | Description |
---|---|---|
name | string | The property name of this node. |
index | number | The index of the property among the sibling properties. |
count | number | The count of the sibling properties. |
depth | number | The depth of the property. |
parent | object | The parent node of the property. |
sort | function | A sort function which orders the child properties. This function is inherited from opts, if be specified. |
... and any properties inherited from opts.
Properties of opts
Properties | Type | Description |
---|---|---|
sort | function | A sort function which orders the same level properties. (Optional) |
... and any properties you want to pass to each node.
Copyright (C) 2016-2018 Takayuki Sato
This program is free software under MIT License. See the file LICENSE in this distribution for more details.
FAQs
Processes each properties of an object deeply.
The npm package each-props receives a total of 943,466 weekly downloads. As such, each-props popularity was classified as popular.
We found that each-props demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.